/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package publico.util;

import fonol.entidades.Candidatos;
import fonol.entidades.Estados;
import fonol.facades.CandidatosFacadeRemote;
import fonol.facades.EstadosFacadeRemote;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 *
 * @author Fredfred2
 */
public class PublicoUtil {

    public EstadosFacadeRemote getEstadoFacade() {
        InitialContext ctx;
        EstadosFacadeRemote ef = null;
        try {
            ctx = new InitialContext();
            ef = (EstadosFacadeRemote) ctx.lookup(EstadosFacadeRemote.class.getName());
        } catch (NamingException ex) {
            Logger.getLogger(PublicoUtil.class.getName()).log(Level.SEVERE, null, ex);
        }
        return ef;
    }

    public List<Candidatos> regresaCandidatos() {
        return getCandidatosFacade().findAll();
    }

    public Candidatos regresaCandidatos(Integer idcandidato) {
        return getCandidatosFacade().find(idcandidato);
    }

    public List<Candidatos> regresaCandidatosPorEstado(int estadoElegido) {
        return getCandidatosFacade().findByEstado(estadoElegido);
    }

    public List<Estados> regresaEstados() {
        return getEstadoFacade().findAll();
    }

    private CandidatosFacadeRemote getCandidatosFacade() {
        InitialContext ctx;
        CandidatosFacadeRemote ef = null;
        try {
            ctx = new InitialContext();
            ef = (CandidatosFacadeRemote) ctx.lookup(CandidatosFacadeRemote.class.getName());
        } catch (NamingException ex) {
            Logger.getLogger(PublicoUtil.class.getName()).log(Level.SEVERE, null, ex);
        }
        return ef;
    }

    public boolean checaExistencia(String rfc) {
        return getCandidatoFacade().existe(rfc);
    }

    
    public CandidatosFacadeRemote getCandidatoFacade() {
        InitialContext ctx;
        CandidatosFacadeRemote ef = null;
        try {
            ctx = new InitialContext();
            ef = (CandidatosFacadeRemote) ctx.lookup(CandidatosFacadeRemote.class.getName());
        } catch (NamingException ex) {
            Logger.getLogger(PublicoUtil.class.getName()).log(Level.SEVERE, null, ex);
        }
        return ef;
    }

    public Estados getEstado(Integer i) {
        return getEstadoFacade().find(i);
    }

    public Candidatos persiste(Candidatos candidatos) {
        return getCandidatoFacade().persiste(candidatos);
    }
}
